﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Runtime.Serialization;

namespace WorldConqueror.Contracts.Maths.DataContracts
{
    public interface IShape
    {
        double Area { get; set; }
        double Perimeter { get; set; }
    }

    [DataContract]
    [KnownType(typeof(SphericalCircle))]
    [KnownType(typeof(SphericalPolygon))]
    public abstract class Shape
    {
        [DataMember]
        public abstract double Area { get; set; }
        [DataMember]
        public abstract double Perimeter { get; set; }
    }
}
